home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 4
/
Meeting Pearls Vol. IV (1996)(GTI - Schatztruhe)[!].iso
/
Pearls
/
dev
/
Language
/
CLisp
/
defmacro.fas
< prev
next >
Wrap
Text File
|
1996-06-17
|
16KB
|
262 lines
(SYSTEM::VERSION '(SYSTEM::CLISP2 13. LISP:T 130695.))
#Y(#:TOP-LEVEL-FORM-1 #13Y(00 00 00 00 00 01 D8 37 02 30 E3 19 01) "SYSTEM")
#Y(#:TOP-LEVEL-FORM-2 #16Y(00 00 00 00 00 01 D8 2E 01 D8 DA 31 82 C3 19 01)
MACRO-CALL-ERROR REMOVE-OLD-DEFINITIONS
#Y(MACRO-CALL-ERROR
#24Y(00 01 00 00 00 02 D8 D9 DA DB 6D 03 04 93 03 AE 71 48 71 98 AF 32 03
1F
)
PROGRAM-ERROR "The macro ~S may not be called with ~S arguments"
"Der Macro ~S kann nicht mit ~S Argumenten aufgerufen werden: ~S"
"Le macro ~S ne peut pas être appelé avec ~S arguments : ~S" LANGUAGE
) )
#Y(#:TOP-LEVEL-FORM-3 #11Y(00 00 00 00 00 01 D8 30 5D 19 01)
(SPECIAL %RESTP %MIN-ARGS %ARG-COUNT %LET-LIST %KEYWORD-TESTS %DEFAULT-FORM)
)
#Y(#:TOP-LEVEL-FORM-4 #14Y(00 00 00 00 00 01 D8 D8 7A 01 31 83 19 01)
MACRO-MISSING-VALUE
)
#Y(#:TOP-LEVEL-FORM-5 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01) ANALYZE-AUX
#Y(ANALYZE-AUX
#81Y(00 02 00 00 00 03 AC 1A 3F 93 00 C3 5C 1A 31 DA DB DC DD 6D 03 06 AE
93 03 32 02 1F DF E0 E1 6D 03 06 E2 E3 E4 6D 03 06 AE 2C 03 0D 19 04
93 00 8D 08 56 9B 5A 1F 58 9B 5A 77 9C 5A 5B 77 60 02 14 0E 01 5C 0F
01 82 00 9B 20 63 91 00 4E 00 19 04
)
(NIL) %LET-LIST PROGRAM-ERROR
"in macro ~S: ~S may not be used as &AUX variable."
"Im Macro ~S ist als &AUX-Variable nicht verwendbar: ~S"
"Dans le macro ~S, l'utilisation de ~S n'est pas possible comme variable &AUX."
LANGUAGE "The rest of the lambda list will be ignored."
"Der Teil danach wird ignoriert." "Ignorer ce qui suit."
"The lambda list of macro ~S contains a dot after &AUX."
"Die Lambdaliste des Macros ~S enthält einen Punkt nach &AUX."
"La liste lambda du macro ~S contient un point après &AUX." CERROR
) )
#Y(#:TOP-LEVEL-FORM-6 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01) ANALYZE-KEY
#Y(ANALYZE-KEY
#628Y(00 03 00 00 00 04 63 62 AF 01 04 9F 1F 82 44 86 04 03 14 23 00 80
B2 AD 23 01 80 B2 AD 23 03 80 B5 AD 23 04 80 B0 AD 23 05 80 AB AD
23 06 80 A6 AD 23 07 80 A1 AD 23 08 80 9C 0E 11 1C 16 AD 8D 08 80
9E 9E 1F 0E AD 71 48 24 12 08 9E 5A 14 6A 11 60 02 F9 AD 8D 08 80
8C 9E 1F 80 9A 93 03 8D 08 80 D0 9E 5A 1F 81 06 9E 5A 77 8E 8D 80
FF 9E 5A 5B 1F 80 F9 9E 5A 5B 77 8E 08 81 60 9E 5A 5A F8 9E 5A 5B
77 EC B5 AF 03 2C 7B 03 7A 02 0E 16 5C 0F 16 9E 5B 5B 1C 08 9E 5B
5B 77 8D 08 80 EA 7C 01 9E 5A 5B 77 64 1E 64 1F A1 5A 5B 77 03 30
7B 02 A1 5B 77 A2 5A 5B 77 60 04 14 7A 02 0E 16 5C 0F 16 AC 83 05
1A 81 74 7C 06 1A 81 6F 94 04 B3 2F 02 1A 81 96 E1 E2 E3 6D 03 0C
E5 E6 D2 1A 20 9E 1A FF 69 AD 71 8C 6A 13 7F D7 02 AD EC B5 AF 03
15 61 03 1A 44 EF F0 F1 6D 03 0C F2 F3 03 1C 14 6D 03 0C B4 A1 1A
80 79 9E 5B 5B 5A F7 1C 80 49 14 64 1E 64 1F 93 06 03 20 7B 02 64
21 64 22 93 08 A4 5B 77 7A 03 03 23 7B 02 03 24 61 03 1A FF 88 93
03 71 8C 6A 13 7F D7 02 93 03 EC B5 AF 03 1D 7B 03 7A 02 0E 16 5C
0F 16 9E 5B 5B 1C 08 9E 5B 5B 77 8D 08 FF B1 7C 01 93 03 64 1E 64
1F 93 06 03 25 7B 02 A1 5B 77 A2 1A FF 4A 64 26 64 27 64 28 6D 03
0C 64 29 64 2A 64 2B 6D 03 0C B4 A1 5A 14 2C 04 10 1A 80 B3 9E 5B
5B 5A F7 1C FF 10 14 64 1E 64 1F A1 5A 5B 77 03 2D 7B 02 64 21 64
22 A3 5A 5B 77 A4 5B 77 7A 03 03 2E 7B 02 03 2F 61 03 1A FF 04 9E
5B 5B 5A F7 1C 80 45 14 64 1E 64 1F AD 03 32 7B 02 64 21 64 22 AF
A4 5B 77 7A 03 03 33 7B 02 03 34 61 03 1A 3A 9E 5A 5A F8 37 01 80
90 00 14 EC B5 AF 03 31 7B 03 7A 02 0E 16 5C 0F 16 9E 5B 5B 1C 08
9E 5B 5B 77 8D 08 FF B5 7C 01 AA 64 1E 64 1F AD 03 35 7B 02 A1 5B
77 A2 5A 5B 77 60 04 14 7A 02 0E 16 5C 0F 16 AC 83 05 03 36 10 37
03 36 10 38 00 10 39 00 10 11 04 0F 5A 5B 77 B7 C0 B9 2C 04 3A 12
04 82 04 1A FD C9 64 41 AF 64 42 AD 7A 02 7A 03 0E 43 5C 0F 43 19
06 92 04 16 64 3B 64 3C 64 3D 6D 03 0C 64 3E 64 3F 64 40 6D 03 0C
B4 2C 03 10 16 05 91 01 51 00 19 06
)
&ALLOW-OTHER-KEYS &AUX ANALYZE-AUX &ENVIRONMENT &WHOLE &OPTIONAL &REST
&BODY &KEY "It will be ignored." "Es wird ignoriert."
"Ignorer ce qui suit." LANGUAGE
"The lambda list of macro ~S contains a badly placed ~S."
"Die Lambdaliste des Macros ~S enthält ein ~S an falscher Stelle."
"La liste lambda du macro ~S contient un ~S mal placé." CERROR
%DEFAULT-FORM 1. *KEYWORD-PACKAGE* GETF (NIL) %LET-LIST
"It will be ignored." "Es wird ignoriert." "Il sera ignoré."
"The lambda list of macro ~S contains the invalid element ~S"
"Die Lambdaliste des Macros ~S enthält folgendes unpassende Element: ~S"
"La liste lambda du macro ~S contient cet élément inadmissible : ~S"
(MACRO-MISSING-VALUE) IF EQ (MACRO-MISSING-VALUE) PROGN SETQ (NIL) (T)
(MACRO-MISSING-VALUE) "It will be ignored." "Es wird ignoriert."
"Elle sera ignorée."
"The lambda list of macro ~S contains an invalid keyword specification ~S"
"Die Lambdaliste des Macros ~S enthält eine unzulässige Keywordspezifikation: ~S"
"La liste lambda du macro ~S contient une spécification de mot-clé inadmissible : ~S"
(MACRO-MISSING-VALUE) (MACRO-MISSING-VALUE) (NIL) (T)
(MACRO-MISSING-VALUE) (MACRO-MISSING-VALUE) (MACRO-MISSING-VALUE) (NIL)
(T) (MACRO-MISSING-VALUE) 0. %MIN-ARGS %ARG-COUNT %RESTP ANALYZE1
"The rest of the lambda list will be ignored."
"Der Teil danach wird ignoriert." "Ignorer ce qui suit."
"The lambda list of macro ~S contains a dot after &KEY."
"Die Lambdaliste des Macros ~S enthält einen Punkt nach &KEY."
"La liste lambda du macro ~S contient un point après &KEY." KEYWORD-TEST
QUOTE %KEYWORD-TESTS
) )
#Y(#:TOP-LEVEL-FORM-7 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01) ANALYZE-REST
#Y(ANALYZE-REST
#130Y(00 03 00 00 00 04 9E 1F 3D 93 03 8E 08 80 42 93 03 94 04 02 0F 08
AB AF 7A 02 0E 09 5C 0F 09 9B 58 1D 80 5C 9B 1F 37 93 00 23 11 80
43 93 00 23 13 80 46 ED EE EF 6D 03 04 F0 F1 F2 6D 03 04 AF AD 2C
04 10 19 06 D8 D9 DA DB 6D 03 04 AD 32 01 1F D8 DD DE DF 6D 03 04
AD 93 06 32 02 1F E2 E3 E4 6D 03 04 E5 E6 E7 6D 03 04 AF 2C 03 10
19 06 94 00 AC AF 2C 03 12 19 06 94 00 AE 2F 14 19 06 19 06
)
PROGRAM-ERROR
"The lambda list of macro ~S is missing a variable after &REST/&BODY."
"Die Lambdaliste des Macros ~S enthält keine Variable nach &REST/&BODY."
"Il manque une variable après &REST/BODY dans la liste lambda du macro ~S."
LANGUAGE
"The lambda list of macro ~S contains an illegal variable after &REST/&BODY: ~S"
"Die Lambdaliste des Macros ~S enthält eine unzulässige Variable nach &REST/&BODY: ~S"
"La liste lambda du macro ~S contient une variable indamissible après &REST/BODY : ~S"
%RESTP %LET-LIST "The rest of the lambda list will be ignored."
"Der Teil danach wird ignoriert." "Ignorer ce qui suit."
"The lambda list of macro ~S contains a misplaced dot."
"Die Lambdaliste des Macros ~S enthält einen Punkt an falscher Stelle."
"La liste lambda du macro ~S contient un point mal placé." CERROR &KEY
ANALYZE-KEY &AUX ANALYZE-AUX "They will be ignored."
"Dieser ganze Teil wird ignoriert." "Ignorer cette partie."
"The lambda list of macro ~S contains superfluous elements: ~S"
"Die Lambdaliste des Macros ~S enthält überflüssige Elemente: ~S"
"La liste lambda du macro ~S contient des éléments superflus : ~S"
) )
#Y(#:TOP-LEVEL-FORM-8 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01) CONS-CAR
#Y(CONS-CAR
#33Y(00 01 00 00 00 02 62 9D 1F 0A 93 02 D8 37 03 7F BE 00 1B 06 D9 AD 60
02 19 03 94 00 9E 5B 5C 19 03
)
((CAR . CAAR) (CDR . CADR) (CAAR . CAAAR) (CADR . CAADR) (CDAR . CADAR)
(CDDR . CADDR) (CAAAR . CAAAAR) (CAADR . CAAADR) (CADAR . CAADAR)
(CADDR . CAADDR) (CDAAR . CADAAR) (CDADR . CADADR) (CDDAR . CADDAR)
(CDDDR . CADDDR) (CDDDDR . FIFTH)
)
CAR
) )
#Y(#:TOP-LEVEL-FORM-9 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01) CONS-CDR
#Y(CONS-CDR
#33Y(00 01 00 00 00 02 62 9D 1F 0A 93 02 D8 37 03 7F BE 00 1B 06 D9 AD 60
02 19 03 94 00 9E 5B 5C 19 03
)
((CAR . CDAR) (CDR . CDDR) (CAAR . CDAAR) (CADR . CDADR) (CDAR . CDDAR)
(CDDR . CDDDR) (CAAAR . CDAAAR) (CAADR . CDAADR) (CADAR . CDADAR)
(CADDR . CDADDR) (CDAAR . CDDAAR) (CDADR . CDDADR) (CDDAR . CDDDAR)
(CDDDR . CDDDDR)
)
CDR
) )
#Y(#:TOP-LEVEL-FORM-10 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01) ANALYZE1
#Y(ANALYZE1
#539Y(00 04 00 00 00 05 AE 01 03 9E 1F 81 E5 86 03 01 14 23 00 80 4E AB
23 07 80 66 AB 23 0F 80 7A AB 23 10 80 75 AB 23 12 80 79 AB 23 15
80 8E AB 23 1C 80 95 AB 23 23 80 AA 91 02 81 13 6A 33 31 97 0F 33
6A 25 31 97 0F 25 AB 8E 08 81 72 AB B2 2E 28 14 7A 02 0E 01 5C 0F
01 1A 81 8D DA DB DC C8 1A 81 9D 92 05 76 9E 5B 1C 72 9E 5B 77 8E
08 6C 9E 5B 77 B0 7A 02 0E 01 5C 0F 01 82 03 1A 81 6D 92 02 11 E0
E1 E2 6D 03 06 E3 E4 E5 6D 03 06 B2 AE 2C 04 0E 7D 02 1A 81 54 94
03 B2 B2 2C 03 11 19 09 37 01 80 90 00 02 0F 13 AA B2 7A 02 0E 01
5C 0F 01 94 03 AB B2 2C 03 14 19 09 EE EF F0 6D 03 06 F1 F2 03 1B
1A 0E F5 64 1E 64 1F 6D 03 06 64 20 64 21 03 22 14 6D 03 06 B2 AE
2C 04 0E 1A 81 0B 94 03 B1 2F 24 19 09 9C 1A 80 7C DA 64 29 64 2A
03 2B 1A 80 D2 A0 5B 5A 1A 1F DA 64 2D 64 2E 64 2F 6D 03 06 B2 9F
5B 5B 5A 1A 80 F8 93 01 64 2C B3 B4 6E 28 A0 5B 20 5D 00 14 7A 04
7A 02 0E 01 5C 0F 01 9C 5B 1F 80 BF 9C 5B 5B 1F 80 B9 9C 5B 5B 77
8E 08 45 9C 5B 5B 77 64 30 03 31 1A 80 74 64 2C B3 B4 6E 28 A0 5B
77 60 04 1A 3D 6A 25 31 97 0F 25 0E 26 1C 16 AB 8D 08 FF 8B 9C 1F
0E AB 71 48 24 27 08 9C 5A 14 6A 26 60 02 F7 AB 8D 08 FE D9 9C 1F
FF 75 93 01 8D 08 FF 90 37 01 80 90 00 14 9D 5B 20 FF B9 B2 2E 28
14 7A 02 0E 01 5C 0F 01 03 32 10 33 03 32 10 25 00 10 13 93 0A B4
BB B6 2C 04 34 12 03 9C 5B 5B 1F 3B 9C 5B 5B 77 64 30 03 31 14 B4
7A 02 60 02 1A FE 92 9C 20 0F DA 64 29 64 2A 03 2B 14 6D 03 06 B2
9F 1A 35 03 32 10 33 03 32 10 25 00 10 13 B4 BB 6E 28 BB BD 6E 28
2C 04 34 12 03 B1 2E 35 FD 82 03 1A FE 17 92 03 23 14 8D 08 11 DA
64 36 64 37 03 38 14 6D 03 06 B2 A1 14 32 02 1F AD B2 7A 02 0E 01
5C 0F 01 02 0F 13 19 09 00 19 09
)
&WHOLE %LET-LIST PROGRAM-ERROR
"The lambda list of macro ~S contains an invalid &WHOLE: ~S"
"Die Lambdaliste des Macros ~S enthält ein unzulässiges &WHOLE: ~S"
"La liste lambda du macro ~S contient un &WHOLE inadmissible : ~S"
LANGUAGE &OPTIONAL "It will be ignored." "Es wird ignoriert."
"L'ignorer." "The lambda list of macro ~S contains a superfluous ~S."
"Die Lambdaliste des Macros ~S enthält ein überflüssiges ~S."
"La liste lambda du macro ~S contient un ~S superflu." CERROR &REST &BODY
ANALYZE-REST &KEY %RESTP ANALYZE-KEY &ALLOW-OTHER-KEYS
"It will be ignored." "Es wird ignoriert." "L'ignorer."
"The lambda list of macro ~S contains ~S before &KEY."
"Die Lambdaliste des Macros ~S enthält ~S vor &KEY."
"La liste lambda du macro ~S contient ~S avant &KEY." &ENVIRONMENT
"It will be ignored." "Es wird ignoriert." "L'ignorer."
"The lambda list of macro ~S contains ~S which is illegal here."
"Die Lambdaliste des Macros ~S enthält ~S, was hier unzulässig ist."
"La liste lambda du macro ~S contient ~S qui est inadmissible ici." &AUX
ANALYZE-AUX %ARG-COUNT %DEFAULT-FORM 1. CONS-CAR
"The lambda list of macro ~S contains an invalid element ~S"
"Die Lambdaliste des Macros ~S enthält ein unzulässiges Element: ~S"
"La liste lambda du macro ~S contient un élément inadmissible : ~S" IF
"The lambda list of macro ~S contains an invalid supplied-variable ~S"
"Die Lambdaliste des Macros ~S enthält eine unzulässige supplied-Variable: ~S"
"La liste lambda du macro ~S contient une «supplied-variable» indamissible : ~S"
NOT NULL 0. %MIN-ARGS ANALYZE1 CONS-CDR
"The lambda list of macro ~S contains an illegal &REST variable: ~S"
"Die Lambdaliste des Macros ~S enthält eine unzulässige &REST-Variable: ~S"
"La liste lambda du macro ~S contient une variable &REST inadmissible : ~S"
) )
#Y(#:TOP-LEVEL-FORM-11 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01) REMOVE-ENV-ARG
#Y(REMOVE-ENV-ARG
#85Y(00 02 00 00 00 03 AC 1A 80 41 AD 62 1A 08 94 01 93 02 83 01 69 01 93
01 24 00 73 AA 9D 5B 78 30 A6 16 01 F6 9C 5B 5A 1A 27 9B 5B 1F 0B 9B
5B 77 8E 08 05 9B 5B 5A 1B 52 D9 DA DB DC 6D 03 05 AE B0 32 02 1F 93
00 23 00 60 82 00 9B 20 76 AD 00 14 3F 02 19 04
)
&ENVIRONMENT PROGRAM-ERROR
"In the lambda list of macro ~S, &ENVIRONMENT must be followed by a non-NIL symbol: ~S"
"In der Lambdaliste des Macros ~S muß nach &ENVIRONMENT ein Symbol (nicht NIL) folgen: ~S"
"Dans la liste lambda du macro ~S, &ENVIRONMENT doit être suivi par un symbole autre que NIL : ~S"
LANGUAGE
) )
#Y(#:TOP-LEVEL-FORM-12 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01)
MAKE-LENGTH-TEST
#Y(MAKE-LENGTH-TEST
#95Y(00 01 00 01 00 08 3A 01 02 C3 F7 6A 01 8E 92 04 0E 02 1B 22 6A 01 8D
92 20 0E 02 1B 26 6A 01 6A 05 90 01 2D 22 DF C7 14 AE 7A 02 AD 0E 01
14 72 02 35 60 03 19 03 00 19 03 DB DC AE 7A 02 AD 0E 05 1A 6B DE C7
1A 60 E0 E1 AD 6A 01 72 02 35 DC B0 7A 02 AF 6A 05 72 02 35 7A 04 60
02 19 03
)
1. %MIN-ARGS %RESTP > LENGTH %ARG-COUNT < /= NOT <=
) )
#Y(#:TOP-LEVEL-FORM-13 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01)
MAKE-MACRO-EXPANSION
#Y(MAKE-MACRO-EXPANSION
#205Y(00 01 00 00 00 02 9C 1F 17 93 01 8E 08 1C 9C 5B 20 29 D8 E0 E1 CD
14 6D 03 04 9E 5A 14 32 01 1F D8 D9 DA DB 6D 03 04 9E 1A 72 D8 DD
DE CA 1A 66 04 1C 1A 80 73 14 60 01 1A 80 73 93 01 9D 5B 77 9E 5B
78 AA 63 37 01 30 62 41 03 92 01 06 E3 9D 79 60 01 F7 AE B0 2F 0C
41 02 D0 10 0E D0 10 0F 00 10 10 00 10 11 00 10 12 00 10 13 BD EC
65 1B ED 2C 04 16 ED 6E 17 F0 6A 11 71 4A C2 6A 12 71 4A 65 1B 32
03 23 7B 02 92 01 07 F1 AC F2 AD 60 04 F6 F3 65 1C F4 ED F5 91 19
02 03 1E 14 7A 03 64 1F 91 19 FF 8A 03 20 14 91 1C FF 88 00 14 64
21 65 23 B3 7A 03 7A 01 32 03 23 7B 03 7A 03 65 1C 65 1C 65 19 3F
04 16 02 12 06 19 0A
)
PROGRAM-ERROR "Cannot define a macro from that: ~S"
"Daraus kann kein Macro definiert werden: ~S"
"Aucun macro n'est définissable à partir de ~S" LANGUAGE
"The name of a macro must be a symbol, not ~S"
"Der Name eines Macros muß ein Symbol sein, nicht: ~S"
"Le nom d'un macro doit être un symbole et non ~S"
"Macro ~S is missing a lambda list."
"Der Macro ~S hat keine Lambdaliste."
"Le macro ~S ne possède pas de liste lambda." DECLARE REMOVE-ENV-ARG 0.
%ARG-COUNT %MIN-ARGS %RESTP %LET-LIST %KEYWORD-TESTS %DEFAULT-FORM
(CDR <MACRO-FORM>) <MACRO-FORM> ANALYZE1 MAKE-LENGTH-TEST LET* IF
(MACRO-CALL-ERROR <MACRO-FORM>) FUNCTION LAMBDA &OPTIONAL <ENV-ARG>
(DECLARE (CONS <MACRO-FORM>)) ((DECLARE (IGNORE <ENV-ARG>))) BLOCK
) )
#Y(#:TOP-LEVEL-FORM-14 #12Y(00 00 00 00 00 01 D8 D9 31 82 19 01)
MAKE-MACRO-EXPANDERCONS
#Y(MAKE-MACRO-EXPANDERCONS
#15Y(00 01 00 00 00 02 D8 AC 6E 01 30 5E 5C 19 02) MACRO
MAKE-MACRO-EXPANSION
) )